Hadoop একটি ডিস্ট্রিবিউটেড সিস্টেম যা তিনটি প্রধান উপাদান বা কম্পোনেন্ট নিয়ে গঠিত: HDFS, YARN, এবং MapReduce। এই তিনটি কম্পোনেন্ট একসঙ্গে কাজ করে Hadoop এর কার্যকারিতা নিশ্চিত করে, বিশেষ করে Big Data প্রসেসিং এবং স্টোরেজের ক্ষেত্রে।
HDFS (Hadoop Distributed File System)
HDFS হলো Hadoop এর ফাইল সিস্টেম যা ডিস্ট্রিবিউটেড স্টোরেজের কাজ করে। এটি Hadoop এর সবচেয়ে গুরুত্বপূর্ণ উপাদান এবং ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়।
HDFS এর বৈশিষ্ট্য
- ডিস্ট্রিবিউটেড স্টোরেজ (Distributed Storage): HDFS ডেটাকে ছোট ছোট ব্লকে বিভক্ত করে এবং এই ব্লকগুলোকে বিভিন্ন নোডে (Machine) সংরক্ষণ করে।
- ডেটা রিপ্লিকেশন (Data Replication): HDFS প্রতিটি ডেটা ব্লকের একাধিক কপি তৈরি করে (সাধারণত ৩টি কপি), যাতে এক নোডে ডেটা হারালে অন্য নোড থেকে ডেটা উদ্ধার করা যায়।
- স্কেলেবিলিটি (Scalability): HDFS সহজেই স্কেল করা যায়, অর্থাৎ নতুন মেশিন যোগ করে এটি আরো বড় পরিমাণ ডেটা সংরক্ষণ করতে সক্ষম।
HDFS এর উপাদান
- নেমোড (NameNode): HDFS এর মেটাডেটা এবং ফাইল সিস্টেমের কাঠামো নিয়ন্ত্রণ করে। এটি নির্ধারণ করে কোথায় ডেটা সংরক্ষিত হবে।
- ডাটা নোড (DataNode): HDFS এর স্টোরেজ নোড, যেখানে আসল ডেটা সংরক্ষণ হয়।
YARN (Yet Another Resource Negotiator)
YARN হলো Hadoop এর রিসোর্স ম্যানেজার, যা ক্লাস্টারের রিসোর্স গুলি পরিচালনা এবং নিয়ন্ত্রণ করে। YARN Hadoop এর একটি গুরুত্বপূর্ণ কম্পোনেন্ট যা নিশ্চিত করে যে ডেটা প্রসেসিং টাস্কগুলি সঠিকভাবে এবং সমান্তরালভাবে সম্পাদিত হচ্ছে।
YARN এর কাজ
- রিসোর্স ম্যানেজমেন্ট (Resource Management): YARN ক্লাস্টারের সমস্ত রিসোর্স যেমন CPU, মেমোরি ইত্যাদি ট্র্যাক করে এবং এটি যেকোনো প্রসেস বা টাস্কের জন্য উপযুক্ত রিসোর্স বরাদ্দ করে।
- টাস্ক শিডিউলিং (Task Scheduling): YARN বিভিন্ন অ্যাপ্লিকেশনের জন্য টাস্ক শিডিউল এবং সেগুলোর সম্পাদন করার জন্য রিসোর্স বরাদ্দ করে।
YARN এর উপাদান
- ResourceManager: এটি প্রধান রিসোর্স ম্যানেজার, যা ক্লাস্টারের সমস্ত রিসোর্স পরিচালনা করে এবং রিসোর্সের জন্য টাস্ক বরাদ্দ করে।
- NodeManager: এটি প্রতিটি নোডের জন্য একটি লোকাল ম্যানেজার, যা ওই নোডে রিসোর্স ব্যবস্থাপনা এবং টাস্ক মনিটর করে।
MapReduce
MapReduce হলো Hadoop এর একটি প্রোগ্রামিং মডেল যা ডিস্ট্রিবিউটেড ডেটা প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এটি দুটি প্রধান ধাপে কাজ করে: Map এবং Reduce। MapReduce Hadoop এর প্রসেসিং ইঞ্জিন হিসেবে কাজ করে এবং ডেটার বিশ্লেষণ এবং প্রক্রিয়া করার জন্য ব্যবহৃত হয়।
MapReduce এর ধাপ
- Map Step: Map স্টেপে, ডেটাকে ইনপুট হিসেবে নিয়ে এটি ছোট ছোট টুকরোতে ভাগ করা হয় এবং তারপর এটি প্রক্রিয়া করা হয়। উদাহরণস্বরূপ, শব্দ গণনা করার সময় Map ধাপে সমস্ত শব্দকে আলাদা আলাদা করা হয়।
- Reduce Step: Reduce স্টেপে, Map স্টেপে প্রক্রিয়া করা ডেটা একত্রিত হয় এবং একটি সমন্বিত আউটপুট তৈরি করা হয়। উদাহরণস্বরূপ, সমস্ত শব্দের গননা একত্রিত করা হয় এবং চূড়ান্ত ফলাফল তৈরি হয়।
MapReduce এর সুবিধা
- ডিস্ট্রিবিউটেড প্রসেসিং (Distributed Processing): MapReduce ডেটাকে বিভিন্ন মেশিনে ভাগ করে প্রসেস করার ক্ষমতা রাখে, যা Big Data বিশ্লেষণে অনেক দ্রুততর করে তোলে।
- স্কেলেবিলিটি (Scalability): MapReduce সহজেই স্কেল করা যায়, অর্থাৎ আরো মেশিন যোগ করে ডেটা প্রসেসিং ক্ষমতা বাড়ানো সম্ভব।
সারাংশ
Hadoop একটি শক্তিশালী ফ্রেমওয়ার্ক যা তিনটি প্রধান উপাদান নিয়ে কাজ করে: HDFS, YARN, এবং MapReduce। HDFS ডিস্ট্রিবিউটেড স্টোরেজ সরবরাহ করে, YARN রিসোর্স ম্যানেজমেন্ট এবং টাস্ক শিডিউলিং পরিচালনা করে, এবং MapReduce ডিস্ট্রিবিউটেড ডেটা প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এই উপাদানগুলো একসঙ্গে Hadoop কে Big Data প্রসেসিং এবং স্টোরেজের জন্য একটি কার্যকরী সমাধান করে তোলে।
Read more